package com.wltt.product.frfront.service;

import com.wltt.product.frfront.model.ResultData;
import com.wltt.product.frfront.model.po.RobotPO;
import com.wltt.product.frfront.model.vo.*;
import com.wltt.product.frfront.service.base.BaseService;

public interface RobotService extends BaseService<RobotPO, Long> {

    /**
     * 获取位置信息
     *
     * @return
     */
    public ResultData getPosition();

    /**
     * 获取单次运行最大值
     *
     * @return
     */
    ResultData getMaxStep();

    /**
     * 设置单次运行最大值
     *
     * @return
     */
    ResultData setMaxStep(SetMaxStepREQ setMaxStepREQ);

    /**
     * 获取坐标系
     *
     * @return
     */
    ResultData coordinateSystem();

    /**
     * 关节控制
     *
     * @return
     */
    ResultData JointMove(JointMoveREQ jointMoveREQ);

    /**
     * 位姿控制
     *
     * @return
     */
    ResultData poseMove(PoseMoveREQ poseMoveREQ);

    /**
     * 运动停止
     *
     * @return
     */
    ResultData moveStop();

    /**
     * 清楚报警
     *
     * @return
     */
    ResultData cleanWarn();

    /**
     * 获取运行信息
     *
     * @return
     */
    ResultData runInfo();

    /**
     * 获取工具坐标号
     *
     * @return
     */
    ResultData getToolCoordinateNum();

    /**
     * 设置工具坐标号
     *
     * @return
     */
    ResultData setToolCoordinateNum(SetToolCoordinateNumREQ setToolCoordinateNumREQ);

    /**
     * 获取工件坐标号
     *
     * @return
     */
    ResultData getWorkpieceCoordinateNum();

    /**
     * 设置工件坐标号
     *
     * @return
     */
    ResultData setWorkpieceCoordinateNum(SetWorkpieceCoordinateNumREQ setWorkpieceCoordinateNumREQ);
}
